package com.ktgj.customer.service;

import java.util.List;
import com.ktgj.customer.domain.MallCartProduct;
import org.apache.ibatis.annotations.Param;

/**
 * 购物车商品Service接口
 * 
 * @author ruoyi
 * @date 2022-05-30
 */
public interface IMallCartProductService 
{
    /**
     * 查询购物车商品
     * 
     * @param cartProductId 购物车商品ID
     * @return 购物车商品
     */
    public MallCartProduct selectMallCartProductById(Long cartProductId);

    /**
     * 查询购物车商品列表
     * 
     * @param mallCartProduct 购物车商品
     * @return 购物车商品集合
     */
    public List<MallCartProduct> selectMallCartProductList(MallCartProduct mallCartProduct);

    /**
     * 新增购物车商品
     * 
     * @param mallCartProduct 购物车商品
     * @return 结果
     */
    public int insertMallCartProduct(MallCartProduct mallCartProduct);

    /**
     * 添加购物车
     * @param mallCartProduct
     * @param customerId
     * @param openId
     * @return
     */
    public int addMallCartProduct(Long customerId, String openId, MallCartProduct mallCartProduct);

    /**
     * 修改购物车商品
     * 
     * @param mallCartProduct 购物车商品
     * @return 结果
     */
    public int updateMallCartProduct(MallCartProduct mallCartProduct);

    /**
     * 批量删除购物车商品
     * 
     * @param cartProductIds 需要删除的购物车商品ID
     * @return 结果
     */
    public int deleteMallCartProductByIds(Long[] cartProductIds);

    /**
     * 删除购物车商品信息
     * 
     * @param cartProductId 购物车商品ID
     * @return 结果
     */
    public int deleteMallCartProductById(Long cartProductId);

    /**
     * 通过购物车编号与商品编号移除商品
     * @param cartId
     * @param productId
     * @return
     */
    public int deleteMallCartProduct(Long cartId,Long productId);
}
